Análisis y visualización de datos - Encuesta Sysarmy


Fecha de creación: 14/04/2022

Autor: Agustín Trulli

Grupo: 6

El objetivo del presente notebook es analizar el conjunto de datos inherente a las respuestas enviadas para la encuesta de salarios de programadores, llevada a cabo por Sysarmy.

Con este análisis se buscan cubrir todas las consignas correspondientes al trabajo práctico nro. 1 de la materia "Análisis de Visualización de datos" perteneciente a la diplomatura en ciencia de datos, aprendizaje automático y sus aplicaciones.

Ejercicio 1 - Análisis descriptivo¶

¿Cuáles son los lenguajes de programación asociados a los mejores salarios?

Columnas relevantes a utilizar:

  • Lenguajes.
  • Sueldo neto.

Algunos criterios preestablecidos:

  • Decidimos usar los 10 lenguajes más populares en la tabla como los relevantes a analizar.
  • Para filtrar outliers vamos a utilizar dos desviaciones estándar como filtros o rango intercuartílico.
  • Categorías que quedan en el top, como 'html', 'bash/shell' y 'ninguno' son filtrados por no ser lenguajes de programación.
  • La mediana de ingresos para devs go se encuentra en 100k, mientras que para el resto de lenguajes 'mas populares', está entre 75k y 85k.
  • Los 4 lenguajes con una media de ingresos superior son go, python, java y typescript, en ese orden.

Ejercicio 2 y 3 - Densidades y varias variables¶

¿Que herramientas (prácticas y teóricas) són útiles para explorar la base, descubrir patrones, asociaciones?

Se seleccionaran un conjunto de variables para ser evaluadas junto con el salario mensual neto percibido por las personas en el conjunto de datos.

Variables numéricas seleccionadas:

  • Edad.
  • Años de experiencia.
  • Rate de satisfacción salarial.

Variables categóricas seleccionadas:

  • Genero.
  • Nivel de estudios.

Edad¶

Podemos ver como el sueldo tiene una tendencia creciente en relación a la edad de la persona. Si bien pareciera que en edades superiores se rompe esta relación entre ambas variables, hay que tener en cuenta que solo el 2% del dataset presenta una edad superior a los 50 años, por lo que dicha media podría no ser representativa debido a la escaces de datos en ese rango.

Años de experiencia¶

Podemos observar como al igual que con la edad la media del salario mensual neto aumenta conforme la persona acumula años de experiencia. Nuevamente hay que tener en cuenta que solo el 2% del conjunto de datos posee mas de 26 años de experiencia, por lo que el decrecimiento observado podría no ser representativo del comportamiento para tal rango.

Nivel de estudios¶

Primario (2), postdoctorado (4) y doctorado (30) son eliminados debido a la escasa cantidad de registros.

  • Se puede observar como la media salarial aumenta conforme el nivel de estudios de la persona encuestada.
  • Las personas con titulo universitario perciben un +15% de ingresos mensuales en promedio en relación a aquellos que solo tienen secundario o terciario.
  • A su vez, las personas con posgrado perciben un +26% de ingresos mensuales en promedio en relación a aquellos que tienen titulo universitario.

Genero¶

Para ser lo mas justos posibles, se analizará la distribución salarial en función del sueldo neto, pero para el rol mas común del conjunto de datos, Developer (40% del dataset).

Este rol lo tienen el 40% de los hombres del dataset, el 34% de las mujeres y el 45% de otros (15 observaciones que serán descartadas por la poca representatividad). No obstante, se debe tener en cuenta que variables como la empresa donde se trabaja, el seniority, entre otros, afectan a la variable a analizar.

Se utilizarán hasta 10 años de experiencia (85% del dataset).

A simple vista, no parece haber una diferencia entre el sueldo percibido por hombres y mujeres para el rol de developer.

Rate de satisfacción salarial¶

Puntaje de 1 a 4.

Como era de esperar, el rate de satisfacción salarial en promedio aumenta conforme los ingresos mensuales netos son mayores.

Ejercicio 4 - Densidad conjunta condicional¶

Análisis de una densidad condicional conjunta utilizando scatter plot.

Variables a utilizar:

  • Edad (numerica).
  • Sueldo mensual neto (numerica).
  • Tipo de contrato (categorica).
  • El scatter plot resulta confuso y podría no ser la mejor herramienta de visualización en este caso.

  • Parece ser que gran parte de los que trabajan part-time son jovenes con un rango salarial neto bajo.

  • Los tercerizados evidencian una media de edad y salario mayor a aquellos que trabajan part-time, pero parecen ganar menos en promedio que alguien que trabaja full-time.

  • La mayor parte de los que trabajan remoto para el exterior ganan en promedio los mejores sueldos del conjunto de datos.

nota: plot interactivo para facilitar su lectura. Apretando las categorías de la legenda podemos filtrarlas.

Preguntas

  • ¿?

Conclusiones

  • Los 4 lenguajes con una media de ingresos superior son go, python, java y typescript, en ese orden. De entre ellos, go es el unico con una media de ingresos superior a los 100k.
  • La media de ingreso mensual neto aumenta conforme la edad de la persona.
  • La media de ingreso mensual neto aumenta conforme los años de experiencia de la persona.
  • Se puede observar como la media salarial aumenta conforme el nivel de estudios de la persona.
  • No parece haber una diferencia entre el sueldo percibido por hombres y mujeres para el rol de developer.
  • El rate de satisfacción salarial en promedio aumenta conforme los ingresos mensuales netos son mayores.

Trabajo futuro

  • -